# -*- coding: utf-8 -*-

import pygame


class VLayout(object):
    """垂直布局

    一个按钮把它的宽度和高度告诉这个类，这个类自动给它安排一个位置
    """
    def __init__(self, rect):
        self.rect = rect

        self.__used_height = 0

    def generate_rect(self, width, height):
        """为一个指定了宽度和高度的元素分配rect区域

        :param width:
        :param height:
        :return: 返回一个pygame.Rect对象
        """
        current_y = self.rect.y + self.__used_height

        rect = pygame.Rect(self.rect.x, current_y,
                           width, height)

        self.update_layout(height)

        return rect

    def update_layout(self, height):
        self.__used_height += height + 10